<!-- kind:binary;verdict:incompatible;affected:0.8;added:19;removed:2;type_problems_high:1;type_problems_medium:0;type_problems_low:1;method_problems_high:0;method_problems_medium:0;method_problems_low:0;checked_methods:1448;checked_types:162;tool_version:2.1 -->
<!-- kind:source;verdict:incompatible;affected:0.8;added:19;removed:2;type_problems_high:1;type_problems_medium:0;type_problems_low:0;method_problems_high:0;method_problems_medium:0;method_problems_low:0;checked_methods:1448;checked_types:162;tool_version:2.1 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="kryo, compatibility" />
<meta name="description" content="Compatibility report for the kryo library between 5.0.0-RC6 and 5.0.0-RC7 versions" />
<title>kryo: 5.0.0-RC6 to 5.0.0-RC7 compatibility report</title>
<style type="text/css">
body {
    font-family:Arial, sans-serif;
    background-color:White;
    color:Black;
}
hr {
    color:Black;
    background-color:Black;
    height:1px;
    border:0;
}
h1 {
    margin-bottom:0px;
    padding-bottom:0px;
    font-size:1.625em;
}
h2 {
    margin-bottom:0px;
    padding-bottom:0px;
    font-size:1.25em;
    white-space:nowrap;
}
div.symbols {
    color:#003E69;
}
div.symbols i {
    color:Brown;
}
span.section {
    font-weight:bold;
    cursor:pointer;
    color:#003E69;
    white-space:nowrap;
    margin-left:0.3125em;
}
span:hover.section {
    color:#336699;
}
span.sect_aff {
    cursor:pointer;
    padding-left:1.55em;
    font-size:0.875em;
    color:#cc3300;
}
span.ext {
    font-weight:100;
}
span.jar {
    color:#cc3300;
    font-size:0.875em;
    font-weight:bold;
}
div.jar_list {
    padding-left:0.4em;
    font-size:0.94em;
}
span.pkg_t {
    color:#408080;
    font-size:0.875em;
}
span.pkg {
    color:#408080;
    font-size:0.875em;
    font-weight:bold;
}
span.cname {
    color:Green;
    font-size:0.875em;
    font-weight:bold;
}
span.iname_b {
    font-weight:bold;
}
span.iname_a {
    color:#333333;
    font-weight:bold;
    font-size:0.94em;
}
span.sym_p {
    font-weight:normal;
    white-space:normal;
}
span.sym_pd {
    white-space:normal;
}
span.sym_p span, span.sym_pd span {
    white-space:nowrap;
}
span.attr {
    color:Black;
    font-weight:100;
}
span.deprecated {
    color:Red;
    font-weight:bold;
    font-family:Monaco, monospace;
}
div.affect {
    padding-left:1em;
    padding-bottom:10px;
    font-size:0.87em;
    font-style:italic;
    line-height:0.9em;
}
div.affected {
    padding-left:2em;
    padding-top:10px;
}
table.ptable {
    border-collapse:collapse;
    border:1px outset black;
    margin-left:0.95em;
    margin-top:3px;
    margin-bottom:3px;
    width:56.25em;
}
table.ptable td {
    border:1px solid Gray;
    padding:3px;
    font-size:0.875em;
    text-align:left;
    vertical-align:top;
    max-width:28em;
    word-wrap:break-word;
}
table.ptable th {
    background-color:#eeeeee;
    font-weight:bold;
    color:#333333;
    font-family:Verdana, Arial;
    font-size:0.875em;
    border:1px solid Gray;
    text-align:center;
    vertical-align:top;
    white-space:nowrap;
    padding:3px;
}
table.summary {
    border-collapse:collapse;
    border:1px outset black;
}
table.summary th {
    background-color:#eeeeee;
    font-weight:100;
    text-align:left;
    font-size:0.94em;
    white-space:nowrap;
    border:1px inset Gray;
    padding:3px;
}
table.summary td {
    text-align:right;
    white-space:nowrap;
    border:1px inset Gray;
    padding:3px 5px 3px 10px;
}
span.mngl {
    padding-left:1em;
    font-size:0.875em;
    cursor:text;
    color:#444444;
    font-weight:bold;
}
span.pleft {
    padding-left:2.5em;
}
span.color_p {
    font-style:italic;
    color:Brown;
}
span.param {
    font-style:italic;
}
span.focus_p {
    font-style:italic;
    background-color:#DCDCDC;
}
span.ttype {
    font-weight:100;
}
span.nowrap {
    white-space:nowrap;
}
span.value {
    white-space:nowrap;
    font-weight:bold;
}
.passed {
    background-color:#CCFFCC;
    font-weight:100;
}
.warning {
    background-color:#F4F4AF;
    font-weight:100;
}
.failed {
    background-color:#FFCCCC;
    font-weight:100;
}
.new {
    background-color:#C6DEFF;
    font-weight:100;
}

.compatible {
    background-color:#CCFFCC;
    font-weight:100;
}
.almost_compatible {
    background-color:#FFDAA3;
    font-weight:100;
}
.incompatible {
    background-color:#FFCCCC;
    font-weight:100;
}
.gray {
    background-color:#DCDCDC;
    font-weight:100;
}

.top_ref {
    font-size:0.69em;
}
.footer {
    font-size:0.8125em;
}
.tabset {
    float:left;
}
a.tab {
    border:1px solid Black;
    float:left;
    margin:0px 5px -1px 0px;
    padding:3px 5px 3px 5px;
    position:relative;
    font-size:0.875em;
    background-color:#DDD;
    text-decoration:none;
    color:Black;
}
a.disabled:hover
{
    color:Black;
    background:#EEE;
}
a.active:hover
{
    color:Black;
    background:White;
}
a.active {
    border-bottom-color:White;
    background-color:White;
}
div.tab {
    border-top:1px solid Black;
    padding:0px;
    width:100%;
    clear:both;
}

</style>
<script type="text/javascript" language="JavaScript">
<!--
function sC(header, id)
{
    e = document.getElementById(id);
    if(e.style.display == 'none')
    {
        e.style.display = 'block';
        e.style.visibility = 'visible';
        header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi, "[&minus;]");
    }
    else
    {
        e.style.display = 'none';
        e.style.visibility = 'hidden';
        header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi, "[+]");
    }
}
function initTabs()
{
    var url = window.location.href;
    if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1)
    {
        var tab1 = document.getElementById('BinaryID');
        var tab2 = document.getElementById('SourceID');
        tab1.className='tab disabled';
        tab2.className='tab active';
    }
    
    var sets = document.getElementsByTagName('div');
    for (var i = 0; i < sets.length; i++)
    {
        if (sets[i].className.indexOf('tabset') != -1)
        {
            var tabs = [];
            var links = sets[i].getElementsByTagName('a');
            for (var j = 0; j < links.length; j++)
            {
                if (links[j].className.indexOf('tab') != -1)
                {
                    tabs.push(links[j]);
                    links[j].tabs = tabs;
                    var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1));
                    //reset all tabs on start
                    if (tab)
                    {
                        if (links[j].className.indexOf('active')!=-1) {
                            tab.style.display = 'block';
                        }
                        else {
                            tab.style.display = 'none';
                        }
                    }
                    links[j].onclick = function()
                    {
                        var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1));
                        if (tab)
                        {
                            //reset all tabs before change
                            for (var k = 0; k < this.tabs.length; k++)
                            {
                                document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none';
                                this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled');
                            }
                            this.className = 'tab active';
                            tab.style.display = 'block';
                            // window.location.hash = this.id.replace('ID', '');
                            return false;
                        }
                    }
                }
            }
        }
    }
    
    if(url.indexOf('#')!=-1) {
        location.href=location.href;
    }
}

if (window.addEventListener) window.addEventListener('load', initTabs, false);
else if (window.attachEvent) window.attachEvent('onload', initTabs);

-->
</script>
</head>
<body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>kryo</span> library between <span style='color:Red;'>5.0.0-RC6</span> and <span style='color:Red;'>5.0.0-RC7</span> versions</h1>
<br/><div class='tabset'>
<a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a>
<a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a>
</div>
<div id='BinaryTab' class='tab'>
<h2>Test Info</h2><hr/>
<table class='summary'>
<tr><th>Library Name</th><td>kryo</td></tr>
<tr><th>Version #1</th><td>5.0.0-RC6</td></tr>
<tr><th>Version #2</th><td>5.0.0-RC7</td></tr>
<tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr>
</table>
<h2>Test Results</h2><hr/>
<table class='summary'>
<tr><th>Total JARs</th><td><a href='#Checked_Archives' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Methods / Classes</th><td>1448 / 162</td></tr>
<tr><th>Compatibility</th>
<td class='warning'>99.2%</td>
</tr>
</table>
<h2>Problem Summary</h2><hr/>
<table class='summary'>
<tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr>
<tr><th>Added Methods</th><td>-</td><td class='new'><a href='#Binary_Added' style='color:Blue;'>19</a></td></tr>
<tr><th>Removed Methods</th><td>High</td><td class='failed'><a href='#Binary_Removed' style='color:Blue;'>2</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Binary_Problems_High' style='color:Blue;'>1</a></td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>1</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Methods</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr>
</table>

<a name='Binary_Added'></a><h2>Added Methods <span class='new'>&nbsp;19&nbsp;</span></h2><hr/>
<span class='jar'>kryo-5.0.0-RC7.jar</span>, <span class='cname'>DefaultGenerics.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_1')">
DefaultGenerics.DefaultGenerics&#160;<span class='sym_p'><span>(&#160;Kryo <span class='color_p'>kryo</span></span>&#160;)</span></span>
<br/>
<div id="c_1" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.&quot;&lt;init&gt;&quot;:(Lcom/esotericsoftware/kryo/Kryo;)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_2')">
DefaultGenerics.nextGenericClass&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Class</span></span>
<br/>
<div id="c_2" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.nextGenericClass:()Ljava/lang/Class;</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_3')">
DefaultGenerics.nextGenericTypes&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Generics.GenericType[&#160;]</span></span>
<br/>
<div id="c_3" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.nextGenericTypes:()[Lcom/esotericsoftware/kryo/util/Generics$GenericType;</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_4')">
DefaultGenerics.popGenericType&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_4" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.popGenericType:()V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_5')">
DefaultGenerics.popTypeVariables&#160;<span class='sym_p'><span>(&#160;int <span class='color_p'>count</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_5" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.popTypeVariables:(I)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_6')">
DefaultGenerics.pushGenericType&#160;<span class='sym_p'><span>(&#160;Generics.GenericType <span class='color_p'>fieldType</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_6" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.pushGenericType:(Lcom/esotericsoftware/kryo/util/Generics$GenericType;)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_7')">
DefaultGenerics.pushTypeVariables&#160;<span class='sym_p'><span>(&#160;Generics.GenericsHierarchy <span class='color_p'>hierarchy</span></span>, <span>Generics.GenericType[&#160;] <span class='color_p'>args</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;int</span></span>
<br/>
<div id="c_7" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.pushTypeVariables:(Lcom/esotericsoftware/kryo/util/Generics$GenericsHierarchy;[Lcom/esotericsoftware/kryo/util/Generics$GenericType;)I</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_8')">
DefaultGenerics.resolveTypeVariable&#160;<span class='sym_p'><span>(&#160;TypeVariable <span class='color_p'>typeVariable</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Class</span></span>
<br/>
<div id="c_8" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.resolveTypeVariable:(Ljava/lang/reflect/TypeVariable;)Ljava/lang/Class;</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_9')">
DefaultGenerics.toString&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;String</span></span>
<br/>
<div id="c_9" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.toString:()Ljava/lang/String;</span><br/><br/></div>

<br/>
<span class='jar'>kryo-5.0.0-RC7.jar</span>, <span class='cname'>ImmutableCollectionsSerializers.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.serializers</span><br/>
<span class="section" onclick="sC(this, 'c_10')">
ImmutableCollectionsSerializers.addDefaultSerializers&#160;<span class='sym_p'><span>(&#160;Kryo <span class='color_p'>kryo</span></span>&#160;)</span> <span class='attr'>[static]</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_10" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/serializers/ImmutableCollectionsSerializers.addDefaultSerializers:(Lcom/esotericsoftware/kryo/Kryo;)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_11')">
ImmutableCollectionsSerializers.ImmutableCollectionsSerializers&#160;<span class='sym_p'>(&#160;)</span></span>
<br/>
<div id="c_11" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/serializers/ImmutableCollectionsSerializers.&quot;&lt;init&gt;&quot;:()V</span><br/><br/></div>

<br/>
<span class='jar'>kryo-5.0.0-RC7.jar</span>, <span class='cname'>Kryo.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo</span><br/>
<span class="section" onclick="sC(this, 'c_12')">
Kryo.setOptimizedGenerics&#160;<span class='sym_p'><span>(&#160;boolean <span class='color_p'>optimizedGenerics</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_12" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/Kryo.setOptimizedGenerics:(Z)V</span><br/><br/></div>

<br/>
<span class='jar'>kryo-5.0.0-RC7.jar</span>, <span class='cname'>NoGenerics.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_13')">
NoGenerics.nextGenericClass&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Class</span></span>
<br/>
<div id="c_13" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.nextGenericClass:()Ljava/lang/Class;</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_14')">
NoGenerics.nextGenericTypes&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Generics.GenericType[&#160;]</span></span>
<br/>
<div id="c_14" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.nextGenericTypes:()[Lcom/esotericsoftware/kryo/util/Generics$GenericType;</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_15')">
NoGenerics.popGenericType&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_15" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.popGenericType:()V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_16')">
NoGenerics.popTypeVariables&#160;<span class='sym_p'><span>(&#160;int <span class='color_p'>count</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_16" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.popTypeVariables:(I)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_17')">
NoGenerics.pushGenericType&#160;<span class='sym_p'><span>(&#160;Generics.GenericType <span class='color_p'>fieldType</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_17" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.pushGenericType:(Lcom/esotericsoftware/kryo/util/Generics$GenericType;)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_18')">
NoGenerics.pushTypeVariables&#160;<span class='sym_p'><span>(&#160;Generics.GenericsHierarchy <span class='color_p'>hierarchy</span></span>, <span>Generics.GenericType[&#160;] <span class='color_p'>args</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;int</span></span>
<br/>
<div id="c_18" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.pushTypeVariables:(Lcom/esotericsoftware/kryo/util/Generics$GenericsHierarchy;[Lcom/esotericsoftware/kryo/util/Generics$GenericType;)I</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_19')">
NoGenerics.resolveTypeVariable&#160;<span class='sym_p'><span>(&#160;TypeVariable <span class='color_p'>typeVariable</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Class</span></span>
<br/>
<div id="c_19" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.resolveTypeVariable:(Ljava/lang/reflect/TypeVariable;)Ljava/lang/Class;</span><br/><br/></div>

<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Binary_Removed'></a><a name='Binary_Withdrawn'></a><h2>Removed Methods <span class='failed'>&nbsp;2&nbsp;</span></h2><hr/>
<span class='jar'>kryo-5.0.0-RC6.jar</span>, <span class='cname'>Generics.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_20')">
Generics.Generics&#160;<span class='sym_p'><span>(&#160;Kryo <span class='color_p'>kryo</span></span>&#160;)</span></span>
<br/>
<div id="c_20" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/Generics.&quot;&lt;init&gt;&quot;:(Lcom/esotericsoftware/kryo/Kryo;)V</span><br/><br/></div>

<br/>
<span class='jar'>kryo-5.0.0-RC6.jar</span>, <span class='cname'>GenericsHierarchy.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_21')">
Generics.GenericsHierarchy.isEmpty&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;boolean</span></span>
<br/>
<div id="c_21" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/Generics.GenericsHierarchy.isEmpty:()Z</span><br/><br/></div>

<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='High_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_High'></a>
<h2>Problems with Data Types, High Severity <span class='failed'>&nbsp;1&nbsp;</span></h2><hr/>
<span class='jar'>kryo-5.0.0-RC6.jar</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_22')">
<span class='ext'>[+]</span> <span class='ttype'>class</span> Generics <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_22" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr>
<th>1</th>
<td>This <b>class</b> became <b>interface</b>.</td>
<td>A client program may be interrupted by <b>IncompatibleClassChangeError</b> or <b>InstantiationError</b> exception dependent on the usage of this class.</td>
</tr>
</table><span class="sect_aff" onclick="sC(this, 'c_23')">
[+] affected methods: 9 (0.6%)</span>
<div id="c_23" style="display:none;">
<div class='affected'><span class='iname_a'>com.esotericsoftware.kryo.Kryo.getGenerics&#160;<span class='sym_p'>(&#160;)</span></span><br/><div class='affect'>Return value  of this method is of type 'Generics'.</div>
<span class='iname_a'>Generics.GenericType.resolve&#160;<span class='sym_p'><span>(&#160;Generics <span class='focus_p'>generics</span></span>&#160;)</span></span><br/><div class='affect'>1st parameter 'generics'  of this method is of type 'Generics'.</div>
<span class='iname_a'>Generics.nextGenericClass&#160;<span class='sym_p'>(&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.nextGenericTypes&#160;<span class='sym_p'>(&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.popGenericType&#160;<span class='sym_p'>(&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.popTypeVariables&#160;<span class='sym_p'><span>(&#160;int <i>count</i></span>&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.pushGenericType&#160;<span class='sym_p'><span>(&#160;Generics.GenericType <i>fieldType</i></span>&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.pushTypeVariables&#160;<span class='sym_p'><span>(&#160;Generics.GenericsHierarchy <i>hierarchy</i></span>, <span>Generics.GenericType[&#160;] <i>args</i></span>&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.resolveTypeVariable&#160;<span class='sym_p'><span>(&#160;TypeVariable <i>typeVariable</i></span>&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
</div></div>
<br/><br/></div>

<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a>
<h2>Problems with Data Types, Low Severity <span class='warning'>&nbsp;1&nbsp;</span></h2><hr/>
<span class='jar'>kryo-5.0.0-RC6.jar</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_24')">
<span class='ext'>[+]</span> <span class='ttype'>class</span> Generics <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_24" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr>
<th>1</th>
<td>Method <span class='iname_b'>Generics.toString&#160;<span class='sym_pd'>(&#160;)</span></span> has been moved up type hierarchy to <b>java/lang/Object.toString:()Ljava/lang/String;</b>.</td>
<td>Method <b>java/lang/Object.toString:()Ljava/lang/String;</b> will be called instead of <span class='iname_b'>Generics.toString&#160;<span class='sym_pd'>(&#160;)</span></span> in a client program.</td>
</tr>
</table><span class="sect_aff" onclick="sC(this, 'c_25')">
[+] affected methods: 1 (0.1%)</span>
<div id="c_25" style="display:none;">
<div class='affected'><span class='iname_a'>Generics.toString&#160;<span class='sym_p'>(&#160;)</span></span><br/><div class='affect'>Method 'java/lang/Object.toString:()Ljava/lang/String;' will be called instead of this method in a client program.</div>
</div></div>
<br/><br/></div>

<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Checked_Archives'></a><h2>Java Archives <span class='gray'>&nbsp;1&nbsp;</span></h2>
<hr/><div class='jar_list'>
kryo-5.0.0-RC6.jar<br/>
</div><br/><a class='top_ref' href='#Top'>to the top</a><br/>
<br/><br/><br/></div><div id='SourceTab' class='tab'>
<h2>Test Info</h2><hr/>
<table class='summary'>
<tr><th>Library Name</th><td>kryo</td></tr>
<tr><th>Version #1</th><td>5.0.0-RC6</td></tr>
<tr><th>Version #2</th><td>5.0.0-RC7</td></tr>
<tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr>
</table>
<h2>Test Results</h2><hr/>
<table class='summary'>
<tr><th>Total JARs</th><td><a href='#Checked_Archives' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Methods / Classes</th><td>1448 / 162</td></tr>
<tr><th>Compatibility</th>
<td class='warning'>99.2%</td>
</tr>
</table>
<h2>Problem Summary</h2><hr/>
<table class='summary'>
<tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr>
<tr><th>Added Methods</th><td>-</td><td class='new'><a href='#Source_Added' style='color:Blue;'>19</a></td></tr>
<tr><th>Removed Methods</th><td>High</td><td class='failed'><a href='#Source_Removed' style='color:Blue;'>2</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Source_Problems_High' style='color:Blue;'>1</a></td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr>
<tr><th rowspan='3'>Problems with<br/>Methods</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr>
</table>

<a name='Source_Added'></a><h2>Added Methods <span class='new'>&nbsp;19&nbsp;</span></h2><hr/>
<span class='jar'>kryo-5.0.0-RC7.jar</span>, <span class='cname'>DefaultGenerics.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_26')">
DefaultGenerics.DefaultGenerics&#160;<span class='sym_p'><span>(&#160;Kryo <span class='color_p'>kryo</span></span>&#160;)</span></span>
<br/>
<div id="c_26" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.&quot;&lt;init&gt;&quot;:(Lcom/esotericsoftware/kryo/Kryo;)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_27')">
DefaultGenerics.nextGenericClass&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Class</span></span>
<br/>
<div id="c_27" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.nextGenericClass:()Ljava/lang/Class;</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_28')">
DefaultGenerics.nextGenericTypes&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Generics.GenericType[&#160;]</span></span>
<br/>
<div id="c_28" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.nextGenericTypes:()[Lcom/esotericsoftware/kryo/util/Generics$GenericType;</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_29')">
DefaultGenerics.popGenericType&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_29" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.popGenericType:()V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_30')">
DefaultGenerics.popTypeVariables&#160;<span class='sym_p'><span>(&#160;int <span class='color_p'>count</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_30" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.popTypeVariables:(I)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_31')">
DefaultGenerics.pushGenericType&#160;<span class='sym_p'><span>(&#160;Generics.GenericType <span class='color_p'>fieldType</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_31" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.pushGenericType:(Lcom/esotericsoftware/kryo/util/Generics$GenericType;)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_32')">
DefaultGenerics.pushTypeVariables&#160;<span class='sym_p'><span>(&#160;Generics.GenericsHierarchy <span class='color_p'>hierarchy</span></span>, <span>Generics.GenericType[&#160;] <span class='color_p'>args</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;int</span></span>
<br/>
<div id="c_32" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.pushTypeVariables:(Lcom/esotericsoftware/kryo/util/Generics$GenericsHierarchy;[Lcom/esotericsoftware/kryo/util/Generics$GenericType;)I</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_33')">
DefaultGenerics.resolveTypeVariable&#160;<span class='sym_p'><span>(&#160;TypeVariable <span class='color_p'>typeVariable</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Class</span></span>
<br/>
<div id="c_33" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.resolveTypeVariable:(Ljava/lang/reflect/TypeVariable;)Ljava/lang/Class;</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_34')">
DefaultGenerics.toString&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;String</span></span>
<br/>
<div id="c_34" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/DefaultGenerics.toString:()Ljava/lang/String;</span><br/><br/></div>

<br/>
<span class='jar'>kryo-5.0.0-RC7.jar</span>, <span class='cname'>ImmutableCollectionsSerializers.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.serializers</span><br/>
<span class="section" onclick="sC(this, 'c_35')">
ImmutableCollectionsSerializers.addDefaultSerializers&#160;<span class='sym_p'><span>(&#160;Kryo <span class='color_p'>kryo</span></span>&#160;)</span> <span class='attr'>[static]</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_35" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/serializers/ImmutableCollectionsSerializers.addDefaultSerializers:(Lcom/esotericsoftware/kryo/Kryo;)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_36')">
ImmutableCollectionsSerializers.ImmutableCollectionsSerializers&#160;<span class='sym_p'>(&#160;)</span></span>
<br/>
<div id="c_36" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/serializers/ImmutableCollectionsSerializers.&quot;&lt;init&gt;&quot;:()V</span><br/><br/></div>

<br/>
<span class='jar'>kryo-5.0.0-RC7.jar</span>, <span class='cname'>Kryo.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo</span><br/>
<span class="section" onclick="sC(this, 'c_37')">
Kryo.setOptimizedGenerics&#160;<span class='sym_p'><span>(&#160;boolean <span class='color_p'>optimizedGenerics</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_37" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/Kryo.setOptimizedGenerics:(Z)V</span><br/><br/></div>

<br/>
<span class='jar'>kryo-5.0.0-RC7.jar</span>, <span class='cname'>NoGenerics.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_38')">
NoGenerics.nextGenericClass&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Class</span></span>
<br/>
<div id="c_38" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.nextGenericClass:()Ljava/lang/Class;</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_39')">
NoGenerics.nextGenericTypes&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Generics.GenericType[&#160;]</span></span>
<br/>
<div id="c_39" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.nextGenericTypes:()[Lcom/esotericsoftware/kryo/util/Generics$GenericType;</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_40')">
NoGenerics.popGenericType&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_40" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.popGenericType:()V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_41')">
NoGenerics.popTypeVariables&#160;<span class='sym_p'><span>(&#160;int <span class='color_p'>count</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_41" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.popTypeVariables:(I)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_42')">
NoGenerics.pushGenericType&#160;<span class='sym_p'><span>(&#160;Generics.GenericType <span class='color_p'>fieldType</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;void</span></span>
<br/>
<div id="c_42" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.pushGenericType:(Lcom/esotericsoftware/kryo/util/Generics$GenericType;)V</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_43')">
NoGenerics.pushTypeVariables&#160;<span class='sym_p'><span>(&#160;Generics.GenericsHierarchy <span class='color_p'>hierarchy</span></span>, <span>Generics.GenericType[&#160;] <span class='color_p'>args</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;int</span></span>
<br/>
<div id="c_43" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.pushTypeVariables:(Lcom/esotericsoftware/kryo/util/Generics$GenericsHierarchy;[Lcom/esotericsoftware/kryo/util/Generics$GenericType;)I</span><br/><br/></div>

<span class="section" onclick="sC(this, 'c_44')">
NoGenerics.resolveTypeVariable&#160;<span class='sym_p'><span>(&#160;TypeVariable <span class='color_p'>typeVariable</span></span>&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;Class</span></span>
<br/>
<div id="c_44" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/NoGenerics.resolveTypeVariable:(Ljava/lang/reflect/TypeVariable;)Ljava/lang/Class;</span><br/><br/></div>

<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Source_Removed'></a><a name='Source_Withdrawn'></a><h2>Removed Methods <span class='failed'>&nbsp;2&nbsp;</span></h2><hr/>
<span class='jar'>kryo-5.0.0-RC6.jar</span>, <span class='cname'>Generics.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_45')">
Generics.Generics&#160;<span class='sym_p'><span>(&#160;Kryo <span class='color_p'>kryo</span></span>&#160;)</span></span>
<br/>
<div id="c_45" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/Generics.&quot;&lt;init&gt;&quot;:(Lcom/esotericsoftware/kryo/Kryo;)V</span><br/><br/></div>

<br/>
<span class='jar'>kryo-5.0.0-RC6.jar</span>, <span class='cname'>GenericsHierarchy.class</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_46')">
Generics.GenericsHierarchy.isEmpty&#160;<span class='sym_p'>(&#160;)</span><span class='sym_p nowrap'> &#160;<b>:</b>&#160;&#160;boolean</span></span>
<br/>
<div id="c_46" style="display:none;">
<span class='mngl'>com/esotericsoftware/kryo/util/Generics.GenericsHierarchy.isEmpty:()Z</span><br/><br/></div>

<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='High_Risk_Source_Problems'></a><a name='Type_Source_Problems_High'></a>
<h2>Problems with Data Types, High Severity <span class='failed'>&nbsp;1&nbsp;</span></h2><hr/>
<span class='jar'>kryo-5.0.0-RC6.jar</span><br/>
<span class='pkg_t'>package</span> <span class='pkg'>com.esotericsoftware.kryo.util</span><br/>
<span class="section" onclick="sC(this, 'c_47')">
<span class='ext'>[+]</span> <span class='ttype'>class</span> Generics <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_47" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr>
<th>1</th>
<td>This <b>class</b> became <b>interface</b>.</td>
<td>Recompilation of a client program may be terminated with the message: <b>Generics</b> is abstract; cannot be instantiated.</td>
</tr>
</table><span class="sect_aff" onclick="sC(this, 'c_48')">
[+] affected methods: 9 (0.6%)</span>
<div id="c_48" style="display:none;">
<div class='affected'><span class='iname_a'>com.esotericsoftware.kryo.Kryo.getGenerics&#160;<span class='sym_p'>(&#160;)</span></span><br/><div class='affect'>Return value  of this method is of type 'Generics'.</div>
<span class='iname_a'>Generics.GenericType.resolve&#160;<span class='sym_p'><span>(&#160;Generics <span class='focus_p'>generics</span></span>&#160;)</span></span><br/><div class='affect'>1st parameter 'generics'  of this method is of type 'Generics'.</div>
<span class='iname_a'>Generics.nextGenericClass&#160;<span class='sym_p'>(&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.nextGenericTypes&#160;<span class='sym_p'>(&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.popGenericType&#160;<span class='sym_p'>(&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.popTypeVariables&#160;<span class='sym_p'><span>(&#160;int <i>count</i></span>&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.pushGenericType&#160;<span class='sym_p'><span>(&#160;Generics.GenericType <i>fieldType</i></span>&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.pushTypeVariables&#160;<span class='sym_p'><span>(&#160;Generics.GenericsHierarchy <i>hierarchy</i></span>, <span>Generics.GenericType[&#160;] <i>args</i></span>&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
<span class='iname_a'>Generics.resolveTypeVariable&#160;<span class='sym_p'><span>(&#160;TypeVariable <i>typeVariable</i></span>&#160;)</span></span><br/><div class='affect'>This method is from 'Generics' class.</div>
</div></div>
<br/><br/></div>

<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Checked_Archives'></a><h2>Java Archives <span class='gray'>&nbsp;1&nbsp;</span></h2>
<hr/><div class='jar_list'>
kryo-5.0.0-RC6.jar<br/>
</div><br/><a class='top_ref' href='#Top'>to the top</a><br/>
<br/><br/><br/></div><hr/><div class='footer' align='right'><i>Generated by <a href='https://github.com/lvc/japi-compliance-checker'>Java API Compliance Checker</a> 2.1 &#160;</i></div><br/>
</body></html>